perm filename DFTP.MRC[UP,DOC]2 blob
sn#244210 filedate 1976-10-29 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00017 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 *** Info on the soon-to-come TBM Datacomputer !! ***
C00005 00003
C00007 00004
C00010 00005
C00011 00006
C00012 00007
C00017 00008
C00021 00009
C00026 00010
C00027 00011
C00029 00012
C00031 00013
C00033 00014
C00035 00015
C00038 00016
C00041 00017
C00042 ENDMK
C⊗;
*** Info on the soon-to-come TBM Datacomputer !! ***
Introductory buzzwah handwave statement.
The new version of the datacomputer (which new DFTP
uses) stores all data on the TBM, CCA's new mass memory.
The smallest unit of space that can be allocated on the TBM
is one megabit. Thus if every user file stored on the
datacomputer occupied a separate datacomputer node (as is
the case with old DFTP), each such file would use a minimum
of a megabit on the TBM. This is grossly inefficient,
considering the size of most files stored via DFTP. In
order to be more efficient, new DFTP stores a number of user
files in one datacomputer node. Each subdirectory has one
datacomputer node (the '<FILES>' node) in which the user
files under that subdirectory are stored.
The result of this many to one mapping is a distinction
between operations at the datacomputer node level (at which
all took place with old DFTP) and those (below that level)
inside a datacomputer node (the <FILES> node of a
subdirectory). Some commands operate only at the node level
(ALLOCATE, ATTACH, CHANGE, CONNECT, CREATE, EXPUNGE, LIST,
REMOVE), and some only at the file level (DELETE, DIRECTORY,
GET, PUT, UNDELETE). Those that operate at the node level
take as arguments a path in the form accepted by old DFTP
(see the January 1976 user's manual), with the addition that
a trailing "**" indicates that all inferior nodes are
desired. Those that operate at the file level accept (an
Page 2
optional path followed by) a user file specification
(<file>.<extension>;<version> or some subset thereof). The
user need not (in fact cannot) reference the <FILES> node
directly. All user file specifications are applied to the
contents of the <FILES> beneath the appropriate node (the
last node of the path if a path was specified, else the
CONNECTed node).
Zum Beispiel...
*CONNECT FORTRAN
[Old Node]
*STORE FORPAC.F4
[OK]
*DIRECTORY *.*;*
**TERSE
FORDNT.F4;1 2313(7)
FODPAC.F4;1 4342(7)
*DIRECTORY *.*;*
**VERBOSE
FORDNT.F4;1
11-JUL-76 03:40:56 06-OCT-76 19:44:10 2313(7)
FODPAC.F4;1
11-JUL-76 04:52:27 06-OCT-76 19:49:50 4342(7)
*LIST <<**
**TERSE
CCA
WRB
<FILES>
FORTRAN
<FILES>
*LIST <<**
**VERBOSE
CCA
WRB
] MX-U=9.69 CHRG=3.00
] IN-N=3 IN-F=2
] CREA=760630054630
<FILES>
] B-AL=1.00 USED=0.01 O-AL=1.00 RECS=1
] C-AL=0.01
] WRIT=760917233828 READ=761005232817
Page 3
] DUMP=760630054841 D-ID=760719215258
] CHRG=3.00 VERS=5 MODN=3
] DVID=TBM VOID=8
FORTRAN
] MX-U=1000000.00 CHRG=0.00
] IN-N=1 IN-F=1
] CREA=761006234215
<FILES>
] B-AL=1.00 USED=0.05 O-AL=1.00 RECS=2
] C-AL=0.01
] WRIT=761006235003 READ=761006235
] DUMP=000000000000 D-ID=000000000000
] CHRG=0.00 VERS=0 MODN=0
] DVID=TBM VOID=8
*DIRECTORY <<*.*
**TERSE
(SXCF: STAGING FILE DFTP.CCA.WRB."<FILES">)
WALDO.;1 23(7)
*RETRIEVE <<WALDO
[OK]
There are a number of new commands. LIST and REMOVE
are the node level equivalents of DIRECTORY and DELETE,
which operate only at the file level. DELETE no longer
eliminates a file on the spot, but rather marks it as
deleted. Files that are deleted can be seen via the VERBOSE
option of the DIRECTORY command. Deleted files can be
undeleted by using the you guessed it UNDELETE command.
Version numbers are maintained so that files with the same
name and extension can be referenced unambiguously (these
numbers are unrelated to the TENEX version numbers files may
have). EXPUNGE makes a fresh copy of the <FILES> under the
node it takes as its argument, flushing files that have been
marked as deleted.
Computer Corporation of America
Datacomputer File Transfer Program User's Guide
January 1976
The datacomputer is a shared large-scale data storage utility
offering data storage and data management services to other computers
on the Arpanet. The system is intended to be used as a centralized
facility for archiving data, for sharing data among the various
network hosts, and for providing inexpensive on-line storage for sites
needing to supplement their local capability. The datacomputer is
implemented on dedicated hardware, and comprises a separate computing
system specialized for data management. Logically, the system can be
viewed as a closed box shared by multiple external processors and
accessed in a standard notation called datalanguage.
The Datacomputer File Transfer Program (DFTP) is a user-invoked
program that stores and retrieves local files on the datacomputer.
DFTP translates simple user commands into datalanguage, sends the
datalanguage and data to the datacomputer, processes the messages and
data returned from the datacomputer, and notifies the user of the
results. DFTP also manages local file input/output and secondary
network connections to and from the datacomputer.
The Directory
←←← ←←←←←←←←←
The DFTP datacomputer directory is a tree, with site nodes
anchored to a common root node, user nodes subordinate to site nodes,
and files beneath user nodes. A user's name space may be further
divided into subdirectories of arbitrary depth. Pictorially,
<root>
/ \
site site ...
/ \
user user ...
/ \
file subdirectory ...
/ \
file subdirectory ...
/ \
file file ...
Any node in the directory can be accessed via a generalized means
for specifying paths through the directory tree. The mechanism
consists of a context, or anchoring point, for name references, and a
pathname, which is the sequence of node names, starting at the anchor,
defining the desired branch of the directory tree.
There are three contexts: the top context, the attach context,
and the connect context (syntactically indicated by three, two, and
one left angle brackets, respectively). The top context (<<<) anchors
the pathname at the root node and is used primarily for referencing
other site and user nodes. The attach context (<<) is a path, set by
the ATTACH command (and by DFTP automatically at the beginning of a
session), and usually ends with a user node. It is used mainly as a
reference point for name space division beneath the user node. The
connect context (<) is a path (initially the same as the attach
DFTP User's Guide Page 2
context), set by the CONNECT command, and conventionally terminates in
a subdirectory. Contexts need not always be specified -- each DFTP
command has a default context (which is the connect context for all
commands except ATTACH and CONNECT, which have as their respective
defaults the top context and the attach context).
The pathname part of the directory path consists of a sequence of
node names (consecutive levels in the tree) separated by right angle
brackets. A password may be necessary in acquiring access privileges
at a particular node, in which case the node name is followed by a
colon and the password.
Some examples of directory paths:
<<<CCA>HACKER:>WALDO
Starting at the top context, the pathname references the subdirectory
WALDO under user HACKER at site CCA (with a password supplied to gain
access to HACKER).
<<MACROS>COMMON>SYSMAC.MAC
Starting at the attached context (presumably a user node), the
pathname references the file SYSMAC.MAC under the COMMON subdirectory
of the MACROS subdirectory.
Commands
←←←←←←←←
DFTP command and argument input is similar to TENEX, with command
recognition and TENEX editing controls. In particular,
<control-A> deletes a character,
<control-R> retypes the line,
<control-X> and <rubout> delete the line,
<escape> and <space> are separators, and
<carriage return>, <line feed> and <eol> are terminators.
The DFTP commands and their arguments are:
ATTACH [path]
CONNECT (path)
COPY [source path] [destination path]
DELETE [path]
DIRECTORY (path)
CREATION
TERSE
VERBOSE
GET [path] (local synonym)
RETRIEVE is equivalent to GET.
PUT [path] (remote synonym)
STORE is equivalent to PUT.
SHOW-DATALANGUAGE
NO-DATALANGUAGE
TIME-TRANSFERS
UNTIME-TRANSFERS
VERIFY [path] (remote synonym)
QUIT
Items in square brackets are required arguments; items in parentheses
DFTP User's Guide Page 3
are optional ones.
The ATTACH command sets the attach context and initiates
datacomputer accounting functions.
The CONNECT command sets the connect context. The default (if no
path is input) is the attach context.
Copies of DFTP files are made with the COPY command, which can
also be used to move and rename files (in conjunction with DELETE).
Subdirectories and files are deleted with the DELETE command.
The path argument of the command may have *'s in the place of
subdirectories, files, and/or extensions, which indicate that all
objects at that level are to be deleted. If the path is terminated
with an escape, all objects below the path will also be deleted.
The DIRECTORY command lists the part of the DFTP directory
selected by its path argument. Escape and * operate in the same
manner as in the DELETE command. The default (if no path is input) is
the current context and all objects beneath it. Subcommands include
TERSE, VERBOSE, and CREATION. TERSE lists names only. VERBOSE lists
all directory information associated with a node, including
datacomputer creation date (in Greenwich mean time) and space
allocated (in TENEX pages). CREATION gives the dates and times that
files were originally created on the local computer.
The GET and PUT commands retrieve and store local disk files on
the datacomputer. Files of any type (e.g., text, binary image) up to
500 TENEX pages (2000 TOPS-10 blocks) in size can be stored. Files
may be stored and retrieved with destination names different from
their source names, in which case the synonym option is used by
completing the first argument to the GET or PUT with an escape or a
space. The commands then operate as
GET [datacomputer file] as [local file]
and
PUT [local file] as [datacomputer file].
The SHOW-DATALANGUAGE and NO-DATALANGUAGE commands respectively
allow and inhibit the output to the user's terminal of the messages
sent to and received from the datacomputer.
Data transfer rates are calculated and given to the user when the
TIME-TRANSFERS command has been invoked. The calculations are avoided
with the UNTIME-TRANSFERS command.
The VERIFY command compares a local file with a datacomputer file
(word by word) and reports differences.
QUIT exits gracefully from DFTP, closing the datacomputer network
connections.
DFTP User's Guide Page 4
There are three types of messages that DFTP gives the user.
Comments surrounded by square brackets are primarily informational
messages, and are never errors. Parentheses enclose non-fatal errors,
such as "(DION: NAME NOT FOUND IN DIRECTORY)", which is the result of
an attempt to GET a nonexistent file. This message comes directly
from the datacomputer, indicated by the name and colon at the head of
the message. Fatal error messages are surrounded by question marks,
and of course never occur.
DFTP Command Summary
←←←← ←←←←←←← ←←←←←←←
Paths
<path> ::= <context>
| <context> <pathname>
| <pathname>
<context> ::= < (connect context)
| << (attach context)
| <<< (top context)
<pathname> ::= <node>
| <node> . <node>
| <node> > <pathname>
<node> ::= <name>
| <name> : <password>
| *
Notes:
Any printing ASCII characters except <, >, ., :, *, ?,
', and " may be used in a <name>.
Any printing ASCII characters (plus space) except >, .,
', and " may be used in a <password>.
DFTP Command Summary Page 2
Commands
ATTACH [path]
CONNECT [path] (1)
COPY [source path] [destination path]
DELETE [path] (2)
DIRECTORY [path] (2) (3)
CREATION
TERSE
VERBOSE
GET (RETRIEVE) [path] [synonym (local file name)] (4)
PUT (STORE) [path] [synonym (path)] (4)
QUIT
SHOW-DATALANGUAGE
NO-DATALANGUAGE
TIME-TRANSFERS
UNTIME-TRANSFERS
VERIFY [path] [synonym (path)] (4)
Notes:
Input arguments are indicated by square brackets.
The connect context is the default context for all
commands except ATTACH and CONNECT, which have as
their respective defaults the top context and the
attach context.
(1) The default (if no path is input) is the attached
node.
(2) If the path is terminated by an escape or a space,
it includes all inferior nodes.
(3) The default (if no path is input) is the connected
node and all its inferior nodes. The default
subcommand is TERSE.
(4) The second argument is optional.
A Sample DFTP Dialog
[Attaching]
;List the ATTACH node.
; (user HACKER under site CCA)
*DIRECTORY <<
**TERSE
CCA
HACKER
;List the CONNECT node.
; (same as the ATTACH node (initially set as such))
*DIRECTORY <
**TERSE
CCA
HACKER
;List all nodes under the CONNECT node.
; (the argument to the DIRECTORY command is a space)
; (files are indicated by "[F]")
*DIRECTORY [Nodes]
**TERSE
CCA
HACKER
LIBRARY
DFTP
MAC [F]
READ
MAC [F]
SAV [F]
WALDO [F]
;Store a file.
; (WALDO already exists (the old copy will be deleted when confirmed))
*PUT WALDO
[Old File][Confirm]
;Connect to a subdirectory.
; (LIBRARY already exists)
*CONNECT LIBRARY
[Old Node]
;List the CONNECT node.
*DIRECTORY <
**TERSE
CCA
HACKER
LIBRARY
;List all files with MAC extensions under the CONNECT node.
; (*'s may be used at any level)
*DIRECTORY *.MAC
**TERSE
CCA
HACKER
LIBRARY
DFTP
MAC [F]
READ
MAC [F]
*TIME-TRANSFERS
;Retrieve a file.
; ("[OK]" indicates that data transfer is commencing)
*GET DFTP.MAC
[OK]
(63691 Baud (636912 bits in 10 seconds))
*UNTIME-TRANSFERS
;Compare a local file with the datacomputer version.
*VERIFY DFTP.MAC
[OK]
;Connect to a subdirectory.
; (SAVE is a new node)
; (the default context of the CONNECT command is the ATTACH node)
*CONNECT SAVE
[New Node][Confirm]
;List the CONNECT node.
*DIRECTORY <
**TERSE
CCA
HACKER
SAVE
;Copy an existing datacomputer file to a new one.
; (the old file is SAV.DFTP under subdirectory CCA of host COMMON)
; (the new file is DFTP.SAV under the CONNECT node)
*COPY <<<COMMON>CCA>SAV.DFTP [To] DFTP.SAV
[New File]
;Copy an existing datacomputer file to a new one.
; (the old file is READ.SAV under the LIBRARY subdirectory)
; (the new file is READ.SAV under the CONNECT node)
; (the user's allocation will be exceeded by the COPY)
*COPY <<LIBRARY>READ.SAV [To] READ.SAV
[New File]
(ANCLIM: NEW ALLOC WOULD EXCEED SPACE LIMITS)
;Retrieve a file.
; (store READ.SAV temporarily on local disk as TMP.TMP)
; (a space after READ.SAV invokes the synonym feature)
*GET <<LIBRARY>READ.SAV [As] TMP.TMP
[OK]
;Delete a file.
; (delete READ.SAV to make room for the new copy)
*DELETE <<LIBRARY>READ.SAV [Confirm]
;Store a file.
; (restore the file temporarily held on local disk)
; (a space as the file name invokes TENEX name recognition (">" prompt))
*PUT >TMP.TMP;1 [Old version] [As] READ.SAV
[New File]
;List all nodes under the CONNECT node.
*DIRECTORY [Nodes]
**TERSE
CCA
HACKER
SAVE
DFTP
SAV [F]
READ
SAV [F]
;List all nodes under the CONNECT node.
; (list all information (other than CREATION) (in datacompuer format))
*DIRECTORY [Nodes]
**VERBOSE
CCA
HACKER
SAVE
] M-PG=54253473 USED=40
] IN-N=4 IN-F=2
] CREA=760218200600
DFTP
] M-PG=54253473 USED=30
] IN-N=1 IN-F=1
] CREA=760218200638
SAV
] B-AL=21 USED=20 O-AL=21 RECS=10240
] CREA=760218200639 WRIT=760218200643 READ=0
] DUMP=000000000000 D-ID=000000000000
READ
] M-PG=54253473 USED=10
] IN-N=1 IN-F=1
] CREA=760218200928
SAV
] B-AL=2 USED=1 O-AL=2 RECS=425
] CREA=760218200929 WRIT=760218200933 READ=0
] DUMP=000000000000 D-ID=000000000000
;List all nodes under the CONNECT node.
; (list local creation dates (preserved across DFTP transfers))
*DIRECTORY [Nodes]
**CREATION
CCA
HACKER
SAVE
DFTP
SAV 17-JAN-76 23:25:48
READ
SAV 10-JUN-74 13:53:55
;Connect to the ATTACH node.
; (the argument to the CONNECT command is a space)
*CONNECT [Attached Node]
[Old Node]
:List all nodes under the CONNECT node.
*DIRECTORY [Nodes]
**TERSE
CCA
HACKER
LIBRARY
DFTP
MAC [F]
READ
MAC [F]
WALDO [F]
SAVE
DFTP
SAV [F]
READ
SAV [F]
*QUIT